#/usr/local/bin/puthon3
#帮助文档略过

#导入模块
from sys import argv

#全局定义：

stack = []
#定义类：
#定义函数：
def push_it():
    '用于追加数据'
    data = input('data: ').strip()
    if data:
        stack.append(data)
    else:
        print('\033[31;42;1m无效的输入，再来\033[0m')
def pop_it():
    '用于弹出数据'
    if stack:
        print('\033[31;1m从列表中弹出了：%s\033[0m' % stack.pop())
    else:
        print('空栈')
def view_it():
    '用于查询数据'
    print('\033[32;1m%s\033[0m' % stack)
def show_menu():
    funcs = {'0': push_it , '1': pop_it, '2':view_it}
    '用于现实菜单，根据用户的选者调用相关函数'
    prompt = '''(0) 压栈 
    (1) 出栈
    (2) 查询 
    (3) 退出
    请选择(0/1/2/3):'''
    while 1:
        xuanze = input(prompt).strip()    #取出字符串两端的空白字符
        if xuanze not in ['0','1', '2', '3']:
           print('无效输入，再来：')
           continue
        if xuanze == '3':
            print('再见，下次光临')
            break
        funcs[xuanze]()
#主程序编码：
if __name__ == '__main__':
    show_menu()